// Learn cc.Class:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/life-cycle-callbacks.html

cc.Class({
    extends: cc.Component,
    properties: {
        HoverNode: cc.Node,
        _isFocuse: false,
        // foo: {
        //     // ATTRIBUTES:
        //     default: null,        // The default value will be used only when the component attaching
        //                           // to a node for the first time
        //     type: cc.SpriteFrame, // optional, default is typeof default
        //     serializable: true,   // optional, default is true
        // },
        // bar: {
        //     get () {
        //         return this._bar;
        //     },
        //     set (value) {
        //         this._bar = value;
        //     }
        // },
    },

    // LIFE-CYCLE CALLBACKS:

    isEnable() {
        if (!this.node.active)
            return false;
        if (this.node.getComponent(cc.Button)) {
            return this.node.getComponent(cc.Button).interactable;
        }
        return true;
    },

    isFocuse() {
        return this._isFocuse;
    },

    onFocuse() {
        this._isFocuse = true;
        if (this.HoverNode)
            this.HoverNode.active = true;
        else
            this.node.scale = 1.2;
    },

    clearFocuse() {
        this._isFocuse = false;
        if (this.HoverNode)
            this.HoverNode.active = false;
        else
            this.node.scale = 1;
    },

    onLoad() {
        if (this.HoverNode)
            this.HoverNode.active = false;
    },

    start() {

    },

    /**
     * 按了确定键
     */
    onKeyEnter() {
        if (this.node.getComponent(cc.Button)) {
            //对应的是按键 
            var btn = this.node.getComponent(cc.Button);
            if (btn.clickEvents.length > 0) {
                btn.clickEvents[0].emit([btn, btn.clickEvents[0].customEventData]);
            }
        }
    },

    // update (dt) {},
});